home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / Bell Choir ƒ / choir source / Cinit.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-18  |  1.0 KB  |  43 lines  |  [TEXT/KAHL]

  1. #include "myIncludes.h"
  2. #include "myProtos.h"
  3.  
  4. struct AEinstalls {
  5.     AEEventClass        theClass;
  6.     AEEventID            theEvent;
  7.     EventHandlerProcPtr    theProc;
  8. };
  9. typedef struct AEinstalls AEinstalls;
  10.  
  11.  
  12. void InitAEStuff(void);
  13. void InitAEStuff(void)
  14. {
  15. static AEinstalls HandlersToInstall[] = 
  16. {
  17.     { kCoreEventClass, kAEOpenApplication, AEOpenHandler},     /* the 4 required AppleEvents. */ 
  18.     { kCoreEventClass, kAEOpenDocuments, AEOpenDocHandler},
  19.     { kCoreEventClass, kAEQuitApplication, AEQuitHandler},
  20.     { kCoreEventClass, kAEPrintDocuments, AEPrintHandler}, 
  21.  
  22.     {    kChoirEventClass, STEP1, do_step1    },
  23.     {    kChoirEventClass, STEP2, do_step2    }
  24. };
  25. OSErr    err;
  26. long    aLong = 0;
  27.     
  28.     if ( Gestalt(gestaltAppleEventsAttr, &aLong) == noErr ) 
  29.         {
  30.         for (aLong = 0; aLong < ((sizeof(HandlersToInstall) / sizeof(AEinstalls))); aLong++) 
  31.             {
  32.             err = AEInstallEventHandler(HandlersToInstall[aLong].theClass, 
  33.                         HandlersToInstall[aLong].theEvent,
  34.                           HandlersToInstall[aLong].theProc, 0, false);
  35.             if (err) 
  36.                 ExitToShell();
  37.             }    /* for */
  38.         
  39.         err = PPCInit();
  40.         }
  41.     else
  42.         ExitToShell();
  43. }